home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Floppyshop 2
/
Floppyshop - 2.zip
/
Floppyshop - 2.iso
/
art&graf.ix
/
art-0015
/
flicker
/
brush.c
< prev
next >
Wrap
C/C++ Source or Header
|
1997-04-16
|
3KB
|
124 lines
#include "flicker.h"
extern char gemctable[];
extern char *aline; /* aline pointer ... might as well be a char I guess */
WORD default_cursor[16] = {
0x0000, 0x0000, 0x01C0, 0x0140, 0x0140, 0x0140, 0x0140, 0x3F7E,
0x2002, 0x3F7E, 0x0140, 0x0140, 0x0140, 0x0140, 0x01C0, 0x0000,
};
WORD spray1_cursor[16] = {
0x0000, 0x0000, 0x0000, 0x0080, 0x0220, 0x0888, 0x2222, 0x0888,
0x2222, 0x0888, 0x2222, 0x0888, 0x0220, 0x0080, 0x0000, 0x0000,
};
WORD spray2_cursor[16] = {
0x0000, 0x0000, 0x0000, 0x0000, 0x02A0, 0x0000, 0x0AA8, 0x0000,
0x0AA8, 0x0000, 0x02A0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
};
WORD diagonal_cursor[16] = {
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0040,
0x0080, 0x0100, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
};
WORD box1_cursor[16] = {
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0180,
0x0180, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
};
WORD box2_cursor[16] = {
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03C0, 0x03C0,
0x03C0, 0x03C0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
};
WORD box3_cursor[16] = {
0x0000, 0x0000, 0x0000, 0x0000, 0x0FF0, 0x0FF0, 0x0FF0, 0x0FF0,
0x0FF0, 0x0FF0, 0x0FF0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
};
WORD box4_cursor[16] = {
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
};
WORD circ1_cursor[16] = {
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080,
0x01C0, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
};
WORD circ2_cursor[16] = {
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0180, 0x03C0,
0x03C0, 0x0180, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
};
WORD circ3_cursor[16] = {
0x0000, 0x0000, 0x0000, 0x03C0, 0x0FF0, 0x1FF8, 0x1FF8, 0x3FFC,
0x3FFC, 0x3FFC, 0x1FF8, 0x1FF8, 0x0FF0, 0x03C0, 0x0000, 0x0000,
};
WORD vline_cursor[16] = {
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0080,
0x0080, 0x0080, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
};
WORD cross_c[16] = {
0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0xFFFE,
0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0000,
};
WORD poly_cursor[16] = {
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x07C0, 0x0820, 0x1010,
0x2008, 0x1010, 0x0820, 0x07C0, 0x0000, 0x0000, 0x0000, 0x0000,
};
WORD sharp_cursor[16] = {
0x0000, 0x0000, 0x0220, 0x0220, 0x0220, 0x0220, 0x3FFE, 0x0220,
0x0220, 0x0220, 0x3FFE, 0x0220, 0x0220, 0x0220, 0x0220, 0x0000,
};
WORD hline_cursor[16] = {
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x03E0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
};
WORD brush_ix;
WORD *brushes[16] = {
default_cursor, spray1_cursor, spray2_cursor, diagonal_cursor,
box1_cursor, box2_cursor, box3_cursor, box4_cursor,
circ1_cursor, circ2_cursor, circ3_cursor, vline_cursor,
cross_c, sharp_cursor, poly_cursor, hline_cursor,
};
static WORD cursor_color;
set_brush(ix)
register WORD ix;
{
static last_ix;
brush_ix = ix;
pick_cursor();
}
pick_cursor()
{
static last_ix = -1;
WORD ix;
ix = brush_ix;
if (!use_brush_cursor)
ix = 0;
if (ix != last_ix)
{
preshift(brushes[ix]);
last_ix = ix;
}
}